1. Field of the Invention
The present invention relates in general to video information processing, and more specifically to reducing video information encoding and decoding computational complexity by adaptively disabling deblock filtering based on a content characteristic of the video information.
2. Description of the Related Art
The Advanced Video Coding (AVC) standard, Part 10 of MPEG4 (Motion Picture Experts Group), otherwise known as H.264, includes advanced compression techniques that were developed to enable transmission of video signals at a lower bit rate or storage of video signals using less storage space. The newer standard outperforms video compression techniques of prior standards in order to support higher quality streaming video at lower bit-rates and to enable internet-based video and wireless applications and the like. The standard does not define the CODEC (encoder/decoder pair) but instead defines the syntax of the encoded video bitstream along with a method of decoding the bitstream. Each video frame is subdivided and encoded at the macroblock (MB) level, where each MB is a 16×16 block of pixels. Each MB is encoded in ‘intraframe’ mode in which a prediction MB is formed based on reconstructed MBs in the current frame, or ‘interframe’ mode in which a prediction MB is formed based on the MBs of the reference frames. The intraframe coding mode applies spatial information within the current frame in which the prediction MB is formed from samples in the current frame that have previously encoded, decoded and reconstructed. The interframe coding mode utilizes temporal information from previous and/or future reference frames to estimate motion to form the prediction MB. The video information is typically processed and transmitted in slices, in which each video slice incorporates one or more macroblocks.
Scalable Video Coding (SVC) is an extension of the H.264 standard which addresses coding schemes for reliably delivery of video to diverse clients over heterogeneous networks using available system resources, particularly in scenarios where the downstream client capabilities, system resources, and network conditions are not known in advance, or dynamically changing from time to time. SVC provides multiple levels or layers of scalability including temporal scalability, spatial scalability, complexity scalability and quality scalability. Temporal scalability generally refers to the number of frames per second (fps) of the video stream, such as 7.5 fps, 15 fps, 30 fps, etc. Spatial scalability refers to the resolution of each frame, such as common interface format (CIF) with 352 by 288 pixels per frame, or quarter CIF (QCIF) with 176 by 144 pixels per frame, although other spatial resolutions are contemplated, such as 4CIF, QVGA, VGA, SVGA, D1, HDTV, etc. Complexity scalability generally refers to the various computational capabilities and processing power of the devices processing the video information. Quality scalability generally refers to the visual quality layers of the coded video by using different bitrates. Objectively, visual quality is measured with a peak signal-to-noise (PSNR) metric defining the relative quality of a reconstructed image compared with an original image.
A deblocking filter is a formative part of the H.264 standard and SVC extension, and an informative part (as a post processing block) of the earlier H.263 standard and MPEG4-Part2. The deblocking filter performs both luma and chroma filtering as known by those of ordinary skill in the art. The deblocking filter is used either as an in-loop filter as part of the standard (e.g., H.264/AVC), or as a post-processor for video decoder (e.g., H.263, MPEG4-part2, MPEG-2, etc.). The deblocking filter enhances the decoded picture quality and increases the encoding efficiency by removing the block effects in the boundary of each 4×4, 8×8, and/or 16×16 block. The deblocking filter, however, also consumes a significant amount of power and processing cycles. Generally speaking, the entire deblocking filter (both luma and chroma) consumes approximately 8% of the computations at the encoder and approximately 35% at the decoder for H.264/AVC. Disabling the entire deblocking filter, therefore, provides a significant reduction of power and processing complexity, especially in the decoder. A conventional configuration according to H.264/AVC includes the ability to turn on and off the entire deblocking filter (including both luma and chroma deblock filtering). Disabling the entire deblocking filter, however, potentially causes degradation of both objective PSNR and subjective visual quality especially for video information having a relatively high level of motion. In most conventional configurations, therefore, the ability to completely disable the deblocking filter has not been used.
It is desired to improve the efficiency of a video information processing system for processing various types of video information including video, images, image sequences, etc. It is desired to reduce the computational complexity and/or power consumption of a video information encoder or decoder.